import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
/*
   创建的store对象,Vuex.Store中参数是Vuex的配置对象，常见的选项如下
   state:是一个对象
 
*/
const store=new Vuex.Store({
    state:{
        count:0
    },
    mutations:{
        /**
         * 
         * @param {*} state :仓库中state的状态
         * @param {*} payload 
         */
        INCREMENT_COUNT(state,payload){
            console.log('2、执行mutations中的方法');
            state.count=state.count+payload
        }
    },
    actions:{
        increment_count_async(cxt,payload){
           console.log('1、执行actions中的方法');
           setTimeout(() => {
            cxt.commit('INCREMENT_COUNT',payload)
           }, 5000);

        }
    },
    getters:{
        doubleCount(state){
            console.log('-----getters中的doubleCount------');
            return state.count*2
        }
    }
})
export default store;
